package cn.zc.utils;

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class QiandaoUtils {
    /**
     * 解析时间字符串，返回LocalTime对象
     * @param timeStr
     * @return
     */
    public static LocalTime parseTime(String timeStr) {
        // 替换中文冒号为英文冒号
        String normalizedTimeStr = timeStr.replace('：', ':');

        // 定义时间格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");

        try {
            // 解析时间字符串
            return LocalTime.parse(normalizedTimeStr, formatter);
        } catch (DateTimeParseException e) {
            // 处理解析异常，例如打印日志或返回null
            System.err.println("Failed to parse time: " + timeStr);
            return null;
        }
    }

    /**
     * 判断当前时间是否在startTimeStr和endTimeStr之间
     * @param endTimeStr
     * @return
     */
    public static boolean isBetween(String endTimeStr){
        LocalTime time2 = parseTime(endTimeStr);
        //time1是time2的前20分钟
        LocalTime time1 = null;
        if (time2 != null) {
            time1 = time2.minusMinutes(20);
        }
        LocalTime currentTime = LocalTime.now().withSecond(0).withNano(0);
        if(currentTime.isAfter(time1) && currentTime.isBefore(time2)){
            return true;
        }else{
            return false;
        }
    }
    /**
     * 判断搜索的是姓名还是学号
     * 1是学号，0是姓名
     */
    public static int isNameOrId(String str){
        //如果str包含数字，则是学号
        if(str.matches("\\d+")){
            return 1;
        }else {
            return 0;
        }
    }
}
